With the recent growth of communication services and/or communication clients, people are communicating more than ever before, and in ever-increasing formats. What started with simple email clients configured to access an email account for a local dial-up ISP has evolved into very sophisticated web-based email services that can be accessed from anywhere and can include a variety of other communication mechanisms such as messaging and real-time chat.
In a slightly different domain, and given the popularity of real-time communication, many vendors developed their own chat-based messaging clients to be used with their own proprietary chat services (or in some cases to span multiple chat clients/services) to augment or in some cases replace traditional email clients or email-style communication. As these chat based-messenger clients evolved, the ability to communicate in forms of media other than plain text evolved in tandem. For example, communication clients expanded their repertoire to include emoticons, file transfers, audio, video, as well as plain text.
As a result, users of modern communication clients can communicate in ways that were scarcely imagined a few decades ago. However, one form of communication that is missing from modern communication clients is the ability to collaborate in the context of an application. For example, information associated with an application running on a one user's machine may not be readily experienced by a another user, even if that other user has access to or is running the identical application and both users are communicating in real-time by way of a conventional communication tool. While certain data can, e.g. be highlighted and subsequently cut and pasted into a chat window, actual collaboration in the context of the application has not been adequately provided by convention communication clients.